/*
 * @Author: WuFeng <763467339@qq.com>
 * @Date: 2024-11-04 10:11:42
 * @LastEditTime: 2024-11-04 12:42:07
 * @LastEditors: WuFeng <763467339@qq.com>
 * @Description: 
 * @FilePath: \markdown-magic\src\pages\ImgEnlarge\service\index.js
 * @Copyright 版权声明
 */

// 图片放大
export function zoomImage(url, scale = 2) {
  return new Promise((resolve, reject) => {
    // 创建一个临时的img元素
    const img = new Image();
    img.src = url;
  
    // 等待图片加载完成
    img.onload = () => {
      // 创建一个canvas元素
      const canvas = document.createElement('canvas');
      const ctx = canvas.getContext('2d');
  
      // 计算放大后的尺寸
      const width = img.width * scale;
      const height = img.height * scale;
      
      // 设置canvas的尺寸
      canvas.width = width;
      canvas.height = height;
  
      // 绘制放大后的图片
      ctx.drawImage(img, 0, 0, width, height);
  
      // 将canvas转换为DataURL（可选择其他操作，例如显示在页面上或下载）
      const dataURL = canvas.toDataURL('image/png');
      // console.log(`🚀 ~ zoomImage ~ dataURL:`, dataURL)
  
      // 处理dataURL（例如，显示在新窗口或下载等）
      // // todo示例：在新窗口中打开图片
      // const imgWindow = window.open('', '_blank');
      // imgWindow.document.write('<img src="' + dataURL + '" alt="zoomed image" />');
      resolve(dataURL)
      // 清理资源
      img.src = '';
    };
  })
}